//package com.example.permissionsystem1_1.common.util;
//
//import com.example.permissionsystem1_1.system.util.SpringContextUtil;
//
//import java.lang.reflect.InvocationTargetException;
//import java.lang.reflect.Method;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * 一些业务功能共用的工具方法
// */
//public class BusinessFunctionsCheckUtil {
//    //1.针对数据库的字段的重复性校验
//    /**
//     * 判断指定多个字段值在对应的数据表中是否有重复值的方法
//     * @param cls 类对象
//     * @param fieldNames 要检查的字段列表
//     * @param filedClasses 要检查的字段的类型列表
//     * @param methodType 针对数据库操作的方法类型:新增insert\修改update
//     * @param checkMethod 要使用的检测字段重名的方法对象
//     * @return
//     */
//    public static List<Boolean> fieldsRepeatCheck(Class cls, List<String> fieldNames,List<Class> filedClasses, String methodType, Method checkMethod) throws InvocationTargetException, IllegalAccessException {
//        if(cls==null||fieldNames==null||fieldNames.size()<=0||filedClasses==null||filedClasses.size()<=0||fieldNames.size()!=filedClasses.size()||
//                methodType==null||"".equals(methodType)||checkMethod==null){
//            return null;
//        }
//        List<Boolean> booleans=new ArrayList<>();
//        for (int i=0;i<fieldNames.size();i++){//有几个需要检测的字段,就要进行几次检测(因为目前的系统中没有or的判断条件,所以暂时要一次次检测)
//            booleans.add(fieldRepeatCheck(cls,fieldNames.get(i),filedClasses.get(i),methodType,checkMethod));
//        }
//        return booleans;
//    }
//
//    /**
//     * 判断指定一个字段值在对应的数据表中是否有重复值的方法
//     * @param cls 类对象
//     * @param fieldName  要检查的字段
//     * @param filedValue  要检查的字段的值
//     * @param methodType 针对数据库操作的方法类型:新增insert\修改update
//     * @param checkMethod 要使用的检测字段重名的方法对象
//     * @return
//     */
//    public static <T> Boolean fieldRepeatCheck(Class cls, T field, String methodType, Method checkMethod) throws InvocationTargetException, IllegalAccessException {
//        if(cls==null||field==null||methodType==null||"".equals(methodType)||checkMethod==null){
//            return null;
//        }
////        String className=cls.getName();
////        className=className.substring(className.lastIndexOf(".")+1,className.length());
//
//
//        List<methodType.class> a=null;
//        if("insert".equals(methodType)){//针对新增
//            //用到了SpringContextUtil工具类
//
//            Object o=checkMethod.invoke(SpringContextUtil.getBean(cls),field);
//            cls a1=new cls();
//            methodType.class y;
//
//        }else if("update".equals(methodType)){//针对修改
//
//
//        }
//        return null;
//    }
//
//}
